草庐IT

cri-docker and kubernetes

全部标签

k8s初始化报错:[ERROR CRI]: container runtime is not running(已解决)

如有错误,敬请谅解!此文章仅为本人学习笔记,仅供参考,如有冒犯,请联系作者删除!!错误描述:      在网上找了好几天解决方案,大部分都是下述方案:[root@master1~]#rm-rf/etc/containerd/config.toml[root@master1~]#systemctlrestartcontainerd    但是当我们尝试之后仍无法解决问题。所以,我又看到了另一种方法因为我安装k8s的版本是1.25.4而cri-dockerd版本是0.2.6所以我们只需要升级cri-dockerd版本0.3.0及其以上即可完美解决如有错误,请联系作者删除并恳请同行朋友予以斧正,万分

Kubernetes 容器运行时接口 CRI

写这篇文章是来填 很久之前挖下的坑[1]。本文涉及组件的源码版本如下:Kubernetes1.24CRI0.25.0Containerd1.6容器运行时(ContainerRuntime)是负责管理和执行容器的组件。它负责将容器镜像转化为在主机上运行的实际容器进程,提供镜像管理、容器的生命周期管理、资源隔离、文件系统、网络配置等功能。图片常见容器运行时有下面这几种,这些容器运行时都提供了不同程度的功能和性能。但他们都遵循容器运行时接口(CRI),以便能够与Kubernetes或其他容器编排系统集成,实现容器的调度和管理。containerd[2]CRI-O[3]DockerEngine[4]M

Kubeadm初始化遇到的坑:[ERROR CRI]: container runtime is not running:

运行kubeadminit--configkubeadm.yaml完整报错如下:[root@m1~]#kubeadminit--configkubeadm.yaml[init]UsingKubernetesversion:v1.25.0[preflight]Runningpre-flightchecks[WARNINGHostname]:hostname"node"couldnotbereached[WARNINGHostname]:hostname"node":lookupnodeon114.114.114.114:53:nosuchhosterrorexecutionphaseprefli

Found multiple CRI endpoints on the host. Please define which one do you wish to use by setting.....

 1、报错信息FoundmultipleCRIendpointsonthehost.Pleasedefinewhichonedoyouwishtousebysettingthe'criSocket'fieldinthekubeadmconfigurationfile:unix:///var/run/containerd/containerd.sock,unix:///var/run/cri-dockerd.sockToseethestacktraceofthiserrorexecutewith--v=5orhigher报错信息截图:  2、原因:没有整合kubelet和cri-dockerd3

Kubeadm初始化报错:[ERROR CRI]: container runtime is not running:

问题:[root@master:~]kubeadminit--image-repositoryregistry.aliyuncs.com/google_containers--pod-network-cidr=10.244.0.0/16-[init]UsingKubernetesversion:v1.24.1[preflight]Runningpre-flightcheckserrorexecutionphasepreflight:[preflight]Somefatalerrorsoccurred:    [ERRORCRI]:containerruntimeisnotrunning:out

云原生|kubernetes|使用cri-docker部署基于kubeadm-1.25.4的集群

前言:kubernetes的部署从1.24版本开始后,弃用docker-shim,也就是说部署1.24版本后的集群不能使用docker-ce了。比较清晰的解决方案有两个,一是使用containerd,这个是一个新的支持cri标准的shim,一个是使用cri-docker这样的中间插件形式,一头通过CRI跟kubelet交互,另一头跟dockerapi交互,从而间接的实现了kubernetes以docker作为容器运行时。但是这种架构缺点也很明显,调用链更长,效率更低。那么,cri-docker虽然有效率低下的缺点,但很明显这个更加符合原来的docker使用习惯。说人话就是部署简单,学习成本不会

2. Kubernetes 1.24 安装( cri 使用 containerd 或 cri-docker )

基于Ubuntu22.04除非特别标注,其余步骤master和worker节点都需要操作准备工作修改Ubuntu镜像https://developer.aliyun.com/mirror/ubuntu?spm=a2c6h.13651102.0.0.2e611b11BvTeZL备份默认/etc/apt/sources.list修改/etc/apt/sources.list修改后更新sudoaptupdate&&sudoaptupgrade主机名解析主机名成解析编辑三台服务器的/etc/hosts文件,添加下面内容根据自己情况配置,这里我有一台master节点对应192.168.90.100,no

使用 CRI-O 容器引擎

本文参考自:UsingtheCRI-OContainerEngineCRI-O是一个开源的、社区驱动的容器引擎。其主要目标是取代Docker服务作为Kubernetes实施的容器引擎。随着 Kubernetesv1.24对dockershim的弃用,CRI-O将成为Kubernetes容器引擎的不二之选。CRI-O容器引擎为运行与开放容器标准 (OCI)兼容的运行时提供了一个稳定、更安全和高性能的平台。使用CRI-O容器引擎可以借助使用符合OCI的运行时(如runc、默认OCI运行时或KataContainers)来启动容器和Pod。CRI-O的稳定性来自于它是与Kubernetes的主要和次

使用 CRI-O 容器引擎

本文参考自:UsingtheCRI-OContainerEngineCRI-O是一个开源的、社区驱动的容器引擎。其主要目标是取代Docker服务作为Kubernetes实施的容器引擎。随着 Kubernetesv1.24对dockershim的弃用,CRI-O将成为Kubernetes容器引擎的不二之选。CRI-O容器引擎为运行与开放容器标准 (OCI)兼容的运行时提供了一个稳定、更安全和高性能的平台。使用CRI-O容器引擎可以借助使用符合OCI的运行时(如runc、默认OCI运行时或KataContainers)来启动容器和Pod。CRI-O的稳定性来自于它是与Kubernetes的主要和次

配置cri-docker使kubernetes1.24以docker作为运行时

镜像下载、域名解析、时间同步请点击阿里云开源镜像站从kubernetes1.24开始,dockershim已经从kubelet中移除,但因为历史问题docker却不支持kubernetes主推的CRI(容器运行时接口)标准,所以docker不能再作为kubernetes的容器运行时了,即从kubernetesv1.24开始不再使用docker了。但是如果想继续使用docker的话,可以在kubelet和docker之间加上一个中间层cri-docker。cri-docker是一个支持CRI标准的shim(垫片)。一头通过CRI跟kubelet交互,另一头跟dockerapi交互,从而间接的实现